#ifndef TASKQTIMEOUTCHKTHREAD_H
#define TASKQTIMEOUTCHKTHREAD_H

#include "Thread.h"
#include <memory>

enum class eAckInfo : uint;

struct DataContainer;
typedef std::shared_ptr<DataContainer> DataContainerPtr;

#define THREAD_POLL_TIME 1
#define TASKQ_TIMEOUT_T 3

class CTaskQTimeoutChkProcessThread: public Thread
{
public:
    CTaskQTimeoutChkProcessThread(std::function<void(eAckInfo info, uint64_t taskId, DataContainerPtr data)> func, int pTime = THREAD_POLL_TIME);
    ~CTaskQTimeoutChkProcessThread();

    void Quit();

private:

    void Process(void);
};


#endif // TASKQTIMEOUTCHKTHREAD_H

